package com.block.datapush.factory;

import cn.hutool.core.util.RandomUtil;
import com.block.common.util.ApplicationContextUtil;
import com.block.datapush.enums.PushApi2Enum;
import com.block.datapush.enums.PushApiEnum;
import com.block.datapush.service.IPushApiService;
import com.block.datapush.service.IPushDaMaiApiService;
import com.block.datapush.service.IPushExtHandleService;
import com.block.datapush.service.apipush.*;

import java.util.HashMap;
import java.util.Map;

public class PushApiFactory {

    private static final Map<String, Class<? extends IPushApiService>> serviceMap = new HashMap<>();

    private static final Map<String, Class<? extends IPushExtHandleService>> extServiceMap = new HashMap<>();

    private static final Map<String, Class<? extends IPushDaMaiApiService>> daMaiServiceMap = new HashMap<>();

    static {
        serviceMap.put(PushApiEnum.DEFAULT3.getValue(), Default3PushApiService.class);
        serviceMap.put(PushApiEnum.DEFAULT2.getValue(), Default2PushApiService.class);
        serviceMap.put(PushApiEnum.DEFAULT_API.getValue(), DefaultAPIPushApiService.class);
        serviceMap.put(PushApiEnum.DEFAULT_API_MASK.getValue(), CommonApiSPushService.class);
        serviceMap.put(PushApiEnum.QINGYU.getValue(), QingYuPushApiService.class);
        serviceMap.put(PushApiEnum.HONGSHENG.getValue(), HongShengPushApiService.class);
        serviceMap.put(PushApiEnum.RONGYIHUI.getValue(), RongYiHuiPushApiService.class);
        serviceMap.put(PushApiEnum.RONGYIHUI2.getValue(), RongYiHui2PushApiService.class);

        serviceMap.put(PushApiEnum.DAMAI.getValue(), DaMaiHuaHuaPushApiService.class);
        serviceMap.put(PushApiEnum.WEIYIN.getValue(), WeiYinXinYongPushApiService.class);
        serviceMap.put(PushApiEnum.QIHUI.getValue(), QiHuiPushApiService.class);

        serviceMap.put(PushApiEnum.CHENGYITONG.getValue(), ChengYiTongPushApiService.class);
        serviceMap.put(PushApiEnum.YOUXIN.getValue(), YouXinPushApiService.class);
        serviceMap.put(PushApiEnum.QIDAI.getValue(), QiDaiPushApiService.class);
        serviceMap.put(PushApiEnum.GONGJIJIN.getValue(), GongjiJinPushApiService.class);
        serviceMap.put(PushApiEnum.JIKE.getValue(), JiKeYouQianPushApiService.class);
        serviceMap.put(PushApiEnum.JUYOUHUA.getValue(),JuYouHuaPushApiService.class);
        serviceMap.put(PushApiEnum.XINYEBANG.getValue(),XinYeBangPushApiService.class);
        serviceMap.put(PushApiEnum.DIANDAIURl.getValue(), DianDaiURLPushApiService.class);
        serviceMap.put(PushApiEnum.DIANDAIAPI.getValue(), DianDaiAPIPushApiService.class);

        serviceMap.put(PushApiEnum.QIFEI.getValue(),QiFeiPushApiService.class);
        serviceMap.put(PushApiEnum.PAIYIDAI.getValue(),PaiYiDaiPushApiService.class);
        serviceMap.put(PushApiEnum.HAOHUITUI.getValue(),HaoHuiTuiPushApiService.class);
        serviceMap.put(PushApiEnum.JINDAI.getValue(),JinDaiPuHuiApiService.class);
        serviceMap.put(PushApiEnum.JINDAI2.getValue(),JinDaiPuHui2ApiService.class);
        serviceMap.put(PushApiEnum.XIAOAN.getValue(),XiaoAnFenQiPushApiService.class);
        serviceMap.put(PushApiEnum.HAOYONGJIE.getValue(),HaoYongJiePushApiService.class);

        serviceMap.put(PushApiEnum.KAKAHUA.getValue(),KakahuaPushApiService.class);
        serviceMap.put(PushApiEnum.HAOHAN.getValue(),HaoHanYouJiePushApiService.class);
        serviceMap.put(PushApiEnum.SUIBIANJIE.getValue(),SuiBianJieApiService.class);
        serviceMap.put(PushApiEnum.ESHIDAI.getValue(),ShiDaiPushApiService.class);
        serviceMap.put(PushApiEnum.JIANWEN.getValue(),SuZhouJianWenApiService.class);
        serviceMap.put(PushApiEnum.YONGQIAN.getValue(),YongQianFenQiPushApiService.class);
        serviceMap.put(PushApiEnum.YUESHANG.getValue(),WenZhouPushApiService.class);
        serviceMap.put(PushApiEnum.QINGDAO.getValue(),QingDaoPushApiService.class);
        serviceMap.put(PushApiEnum.XIEWANGAO.getValue(),XieWanGaoApiService.class);
        serviceMap.put(PushApiEnum.JINGUANJIA.getValue(),JinGuanJiaApiService.class);
        serviceMap.put(PushApiEnum.COMMONAPIS.getValue(), CommonApiSPushService.class);
        serviceMap.put(PushApiEnum.QIANMANDAI.getValue(),QianManDaiApiService.class);
        serviceMap.put(PushApiEnum.QINGFUYING.getValue(),QingFuYingApiService.class);
        serviceMap.put(PushApiEnum.MIAOHUITONG.getValue(),MiaoHuiTongPushApiService.class);
        serviceMap.put(PushApiEnum.ZHANGZHOU.getValue(),XiaMenPushApiService.class);
        serviceMap.put(PushApiEnum.WUYIGONGJIJIN.getValue(), WuYiGongJiJinApiService.class);
        serviceMap.put(PushApiEnum.ZAOZHUANG.getValue(), ZaoZhuangApiService.class);
        serviceMap.put(PushApiEnum.CAIXINJINFU.getValue(), CaiXinJinFuApiService.class);
        serviceMap.put(PushApiEnum.XINMANRONG.getValue(), XinManRongApiService.class);
        serviceMap.put(PushApiEnum.XINXIAORONG.getValue(), XinXiaoRongApiService.class);
        serviceMap.put(PushApiEnum.YUNQI.getValue(), YunQiPushApiService.class);
        serviceMap.put(PushApiEnum.XIAOYINGSUDAI.getValue(), XiaoYingSuDaiApiService.class);
        serviceMap.put(PushApiEnum.JISUDAI.getValue(), JiSuDaiApiService.class);
        serviceMap.put(PushApiEnum.RONGYIDAI.getValue(), RongYiDaiApiService.class);
        serviceMap.put(PushApiEnum.NINGBO.getValue(), NingBoApiServicea.class);
        serviceMap.put(PushApiEnum.HAOXIN.getValue(), SuZhouHaoXinApiService.class);
        serviceMap.put(PushApiEnum.ZHENGPU.getValue(), ZhengPuApiService.class);
        serviceMap.put(PushApiEnum.RUXIAOYUAN.getValue(), RuXiaoYuanApiService.class);
        serviceMap.put(PushApiEnum.RUXIAOYUANAPIB.getValue(), RuXiaoYuanApiBService.class);
        serviceMap.put(PushApiEnum.JUYOUHUASSQ.getValue(), JuYouHuaSsqApiService.class);
        serviceMap.put(PushApiEnum.JingHuShen.getValue(), JingHuShenApiService.class);
        serviceMap.put(PushApiEnum.FUCHENG.getValue(), FuChengApiService.class);
        serviceMap.put(PushApiEnum.YISHIDAI.getValue(), YiShiDaiSsqApiService.class);
        serviceMap.put(PushApiEnum.CHENGDUKABO.getValue(), ChengDukaBoApiService.class);
        serviceMap.put(PushApiEnum.HAOHANSSQ.getValue(), HaoHanYouJieApiService.class);
        serviceMap.put(PushApiEnum.YIYUANHUDONG.getValue(), YiYuanHuDongService.class);
        serviceMap.put(PushApiEnum.XIAOANFENQISSQ.getValue(), XiaoAnFenQiSsqApiService.class);
        serviceMap.put(PushApiEnum.NINGBOSHENGSAI.getValue(), NingBoShengSaiApiService.class);
        serviceMap.put(PushApiEnum.CHANGXIANGSSQ.getValue(), ChangXiangSsqApiService.class);
        serviceMap.put(PushApiEnum.BEIJINGGJJ.getValue(), BeiJingGJJApiService.class);
        serviceMap.put(PushApiEnum.LAIDA.getValue(), LaiDaApiService.class);
        serviceMap.put(PushApiEnum.JINBEIRONG.getValue(), TianJing1PushApiService.class);
        serviceMap.put(PushApiEnum.XINYONGPAI.getValue(), XinYongPaiPushApiService.class);
        serviceMap.put(PushApiEnum.ZHONGXIN.getValue(), ZongXinApiService.class);
        serviceMap.put(PushApiEnum.JINCHENG.getValue(), JinChengPushApiService.class);
        serviceMap.put(PushApiEnum.JIENIHUA.getValue(), JieNiHuaSsqApiService.class);
        serviceMap.put(PushApiEnum.XIAOANFENQIRATESSQ.getValue(), XiaoAnFenQiSsqRateApiService.class);
        serviceMap.put(PushApiEnum.CHUANGXING.getValue(), TianJinChuangXingApiService.class);
        serviceMap.put(PushApiEnum.KUAIJIEDAI.getValue(), KuaiJieDaiApiService.class);
        serviceMap.put(PushApiEnum.XINYONGPAISSQRATE.getValue(), XinYongPaiSsqRatePushApiService.class);
        serviceMap.put(PushApiEnum.YUNQISSQRATE.getValue(), YunQiSsqRatePushApiService.class);
        serviceMap.put(PushApiEnum.WANGLUOKEJI.getValue(), WangLuoKeJiApiService.class);
        serviceMap.put(PushApiEnum.YOURONG.getValue(), YouRongApiService.class);
        serviceMap.put(PushApiEnum.QIHUIXINXI.getValue(), QiHuiApiService.class);
        serviceMap.put(PushApiEnum.FOSHANXUANHONG.getValue(), FuShanXuanHongPushApiService.class);
        serviceMap.put(PushApiEnum.MEIXINSSQANDRATE.getValue(), MeiXinQianBaoPushApiService.class);
        serviceMap.put(PushApiEnum.LINGJULI.getValue(), LingJuLiPushApiService.class);
        serviceMap.put(PushApiEnum.RONGYIDAI1.getValue(), RongYiDaiPushApiService.class);
        serviceMap.put(PushApiEnum.BAIYIJINFU.getValue(), BaiYiJinFuApiService.class);
        serviceMap.put(PushApiEnum.HEZEHUIPU.getValue(), HeZeHuiPuApiService.class);
        serviceMap.put(PushApiEnum.HAITUNQIANBAOSSQ.getValue(), HaiTunQianBaoSsqPushApiService.class);
        serviceMap.put(PushApiEnum.HONGWENJINFU.getValue(), HongWenJinFuApiService.class);
        serviceMap.put(PushApiEnum.JUXIANGHUASSQRATE.getValue(), JuXiangHuaSsqApiService.class);
        serviceMap.put(PushApiEnum.MENGXINHUASSQRATE.getValue(), MengXinHuaSsqApiService.class);
        serviceMap.put(PushApiEnum.HURONGZHIDAISSQRATE.getValue(), HuRongZhiDaiSsqRateSsqApiService.class);
        serviceMap.put(PushApiEnum.RONGYITONG.getValue(), RongYiTongApiServicea.class);
        serviceMap.put(PushApiEnum.ZHONGYINJINRONG.getValue(), GuangDongZhuHaiApiService.class);
        serviceMap.put(PushApiEnum.QINGXIANGHUA.getValue(), QingXiangHuaPushApiService.class);
        serviceMap.put(PushApiEnum.SHANYONGHUASSQRATE.getValue(), ShanYongHuaSsqRatePushApiService.class);
        serviceMap.put(PushApiEnum.ZHUHAIJINRONG.getValue(), ZhongYinJinRongApiService.class);
        serviceMap.put(PushApiEnum.NUOXIANGQIANBAOSSQ.getValue(), NuoXiangQianBaoPushApiService.class);
        serviceMap.put(PushApiEnum.XIAOMEIYIRONGXIA.getValue(), XiaoMeiYiRongPushApiService.class);
        serviceMap.put(PushApiEnum.HAOXINHUA.getValue(), HaoXinHuaPushApiService.class);
        serviceMap.put(PushApiEnum.ZHENGSHENGXINXI.getValue(), ZhengShenXinXiApiService.class);
        serviceMap.put(PushApiEnum.SHUHUIYUNRATE.getValue(), ShuHuiYunRatePushApiService.class);
        serviceMap.put(PushApiEnum.ECXITONG.getValue(), EcApiService.class);
        serviceMap.put(PushApiEnum.XINDINGXINJINFU.getValue(), XinDingXinJinFuApiService.class);
        serviceMap.put(PushApiEnum.YIQIYUAN.getValue(), YiQiYuanShangApiService.class);
        serviceMap.put(PushApiEnum.XIAOXIONGQIANBAORATE.getValue(), XiaoXiongQianBaoSsqRatePushApiService.class);
        serviceMap.put(PushApiEnum.JINYAOHUASSQRATE.getValue(), JinYaoHuaSsqRatePushApiService.class);

        serviceMap.put(PushApiEnum.COMMONAPIB.getValue(), CommonApiBPushApiService.class);
        serviceMap.put(PushApiEnum.WEIYINAPIB.getValue(), WeiYinXinYongApiBPushApiService.class);
        serviceMap.put(PushApiEnum.XINBANGDAI.getValue(), XinBangDaiApiService.class);
        serviceMap.put(PushApiEnum.JIENIHUAAPIB.getValue(), JieNiHuaApiBPushApiService.class);
        serviceMap.put(PushApiEnum.BEIJINGJISHIYU.getValue(), BeijingJiShiApiService.class);
        serviceMap.put(PushApiEnum.QUNGUOHUIXIN.getValue(), HuiXinApiService.class);
        serviceMap.put(PushApiEnum.JUXIANGHUAAPIB.getValue(), JuXiangHuaApiBApiService.class);
        serviceMap.put(PushApiEnum.DAXIANGJINFUAPI.getValue(), DaXiangJinFuApiService.class);
        serviceMap.put(PushApiEnum.TIANJINTIANMING.getValue(), TianJinMingTianApiService.class);
        serviceMap.put(PushApiEnum.ANYIRONGSSQRATE.getValue(), AnYiRongApisPushApiService.class);
        serviceMap.put(PushApiEnum.CHENGYITONGAPIB.getValue(), ChengYiTongApiBPushApiService.class);
        serviceMap.put(PushApiEnum.RONGHUIJINFUAPI.getValue(), RongHuiJinFuApiService.class);
        serviceMap.put(PushApiEnum.CHUANSHUJINRONGAPI.getValue(), ChuanShuJinRongPushApiService.class);
        serviceMap.put(PushApiEnum.YOUSHANDAI.getValue(), YouShanDaiPushApiService.class);
        serviceMap.put(PushApiEnum.JINLINZHENZEAPI.getValue(), JiLinZhenZeApiService.class);
        serviceMap.put(PushApiEnum.YIMINJINFUAPI.getValue(), YiMinJinFuApiService.class);
        serviceMap.put(PushApiEnum.BAITAIQIANYUAN.getValue(), BaiTaiQianYuanPushApiService.class);
        serviceMap.put(PushApiEnum.JUYOUHUAAPIB.getValue(), JuYouHuaApiBApiService.class);
        serviceMap.put(PushApiEnum.YINYUANAPI.getValue(), YinYuanApiApiService.class);
        serviceMap.put(PushApiEnum.LEXIANGTONG.getValue(), LeXiangTongPushApiService.class);
        serviceMap.put(PushApiEnum.XINHEXINXI.getValue(), XinHeXinXiApiService.class);
        serviceMap.put(PushApiEnum.HAOYOUDUOAPISSQ.getValue(), WangXunPushApiService.class);
        serviceMap.put(PushApiEnum.ZHONGBENKEJIAPI.getValue(), ZhongBenKeJiApiService.class);
        serviceMap.put(PushApiEnum.YIRONGXINXIAPI.getValue(), YiRongApiService.class);
        serviceMap.put(PushApiEnum.RUYIHUAAPIB.getValue(), RuYiHuaApiBPushApiService.class);
        serviceMap.put(PushApiEnum.JIENIHUATWORATESSQ.getValue(), JieNiHuaTwoSsqApiService.class);
        serviceMap.put(PushApiEnum.RONGXINYONGCAIAPIB.getValue(), RongXinYongCaiApiBPushApiService.class);
        serviceMap.put(PushApiEnum.DAMAIHUAHUAAPIBRATE.getValue(), DaMaiHuaHuaApiBRatePushApiService.class);
        serviceMap.put(PushApiEnum.YANGXINHUAAPIBRATE.getValue(), YangXinHuaApiBRatePushService.class);
        serviceMap.put(PushApiEnum.YANGXINHUA.getValue(), YangXinHuaApisPushApiService.class);
        serviceMap.put(PushApiEnum.QUJIHUAAPIB.getValue(), QuJiHuaApiBService.class);
        serviceMap.put(PushApiEnum.XINXIAOHUA.getValue(), YinXiaoHuaApiBRatePushService.class);
        serviceMap.put(PushApiEnum.JINTONGBAOAPI.getValue(), JinTongBaoApiService.class);
        serviceMap.put(PushApiEnum.XINDAI.getValue(), XinDaiApisPushApiService.class);
        serviceMap.put(PushApiEnum.XINDAIAPIB.getValue(), XinDaiApiBPushApiService.class);
        serviceMap.put(PushApiEnum.HAOHANAPIB.getValue(), HaoHanApiBRateService.class);
        serviceMap.put(PushApiEnum.XINXIAORONGAPIB.getValue(), XinXiaoRongApiBRatePushService.class);
        serviceMap.put(PushApiEnum.JIDAIAPI.getValue(), JiDaiApiService.class);
        serviceMap.put(PushApiEnum.HAOXINHUAAPIB.getValue(), HaoXinHuaApiBRatePushService.class);
        serviceMap.put(PushApiEnum.XIAOCAIDAIKUAN.getValue(), XiaoCaiDaiKuanPushApiBService.class);
        serviceMap.put(PushApiEnum.XIAOLONGQIANBAO.getValue(), XiaoLongQianBaoApiService.class);
        serviceMap.put(PushApiEnum.WEIRONGAPIB.getValue(), WeiRongApiBPushApiService.class);
        serviceMap.put(PushApiEnum.JINTONGBAOAPIS.getValue(), JinTongBaoApiSService.class);
        serviceMap.put(PushApiEnum.LONGYANAPIB.getValue(), LongYanApiBService.class);
        serviceMap.put(PushApiEnum.WEIXIAOFEIAPIS.getValue(), WeiXiaoFeiApisPushApiService.class);
        serviceMap.put(PushApiEnum.WEIXIAOFEIAPIB.getValue(), WeiXiaoFeiApiBPushApiService.class);
        serviceMap.put(PushApiEnum.XINHUAQIANBAOAPIS.getValue(), XinHuaApisMaskPushService.class);

        //掩码
        serviceMap.put(PushApiEnum.COMMONAPISMASK.getValue(), CommonApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.COMMONAPIBMASK.getValue(), CommonApiBMaskPushApiService.class);
        serviceMap.put(PushApiEnum.COMMONAPISMINEMASK.getValue(), CommonApiSNineMaskPushService.class);
        serviceMap.put(PushApiEnum.CHENGYITONGMASKAPIB.getValue(), ChengYiTongApiBMaskPushApiService.class);
        serviceMap.put(PushApiEnum.XIAOCAIDAIKUANMASKAPIB.getValue(), XiaoCaiDaiKuanMaskPushApiBService.class);
        serviceMap.put(PushApiEnum.HAOHANYOUJIEMASKAPIB.getValue(), HaoHanApiBMaskRateService.class);
        serviceMap.put(PushApiEnum.XINDAIMASKAPSMASK.getValue(), XinDaiApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.ZHENXIANGAPISMASK.getValue(), ZhenXiangApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.DAMAIHUAHUAAPIBMASK.getValue(), DaMaiHuaHuaApiBMaskPushApiService.class);
        serviceMap.put(PushApiEnum.XINXIAORONGAPIBMASK.getValue(), XinXiaoRongApiBMaskPushService.class);
        serviceMap.put(PushApiEnum.XINXIAORONGAPISMASK.getValue(), XinXiaoRongApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.WEIRONGAPIBMASK.getValue(), WeiRongApiBMaskPushApiService.class);
        serviceMap.put(PushApiEnum.WEIHAOYONGPIBMASK.getValue(), WeiHaoYongApiBMaskPushApiService.class);
        serviceMap.put(PushApiEnum.HAOHANYOUJIEAPISMASK.getValue(), HaoHanApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.DAEAPISMASK.getValue(), DaEApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.LONGYANMASKAPIS.getValue(), LongYanMaskApisService.class);
        serviceMap.put(PushApiEnum.XIAOCAIDAIKUANMASKAPIS.getValue(), XiaoCaiDaiKuanMaskApisService.class);
        serviceMap.put(PushApiEnum.HAOHANYOUJIEMASKAPIS.getValue(), HaoHanYouJieMaskApiService.class);
        serviceMap.put(PushApiEnum.XINFENGMASKAPIS.getValue(), XinFengApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.HUIYUANMASKPAIS.getValue(), HuiYuanApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.YUNWEIRONGAPIS.getValue(), WeiRongApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.YIYOUHUAMASKAPIS.getValue(), YiYouHuaApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.JIKEMASKAPIS.getValue(), JiKeApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.LESHANTONGMASKAPIS.getValue(), LeShanTongApiSMaskPushService.class);
        serviceMap.put(PushApiEnum.YANGXINHUAMASKPAIS.getValue(), YangXinHuaApisMaskPushApiService.class);
        serviceMap.put(PushApi2Enum.JINMAOAPISMASK.getValue(), JinMaoApisMaskService.class);

        extServiceMap.put(PushApiEnum.COMMONAPIS.getValue(), IPushExtHandleService.class);

        serviceMap.put(PushApiEnum.QIANHAIMINGTOU.getValue(), QianHaiMingTouApiService.class);


        extServiceMap.put(PushApiEnum.COMMONAPIS.getValue(), CommonApiBPushApiService.class);
        extServiceMap.put(PushApiEnum.JINCHENG.getValue(), CommonApiBPushApiService.class);
        extServiceMap.put(PushApiEnum.WANGLUOKEJI.getValue(), CommonApiBPushApiService.class);
        extServiceMap.put(PushApiEnum.XINFENGMASKAPIS.getValue(), XinFengApiSMaskPushService.class);
        extServiceMap.put(PushApiEnum.COMMONAPISMASK.getValue(), CommonApiSMaskPushService.class);

        daMaiServiceMap.put(PushApiEnum.DAMAIHUAHUAAPIBRATE.getValue(), DaMaiHuaHuaApiBRatePushApiService.class);
        daMaiServiceMap.put(PushApiEnum.DAMAIHUAHUAAPIBMASK.getValue(), DaMaiHuaHuaApiBMaskPushApiService.class);

    }

    public static IPushApiService getService(String pushType){
        if (serviceMap.containsKey(pushType)){
            Class<? extends IPushApiService> aClass = serviceMap.get(pushType);
            return ApplicationContextUtil.getBean(aClass);
        }
        return null;
    }


    public static IPushDaMaiApiService getServiceDaMai(String pushType){
        if (daMaiServiceMap.containsKey(pushType)){
            Class<? extends IPushDaMaiApiService> aClass = daMaiServiceMap.get(pushType);
            return ApplicationContextUtil.getBean(aClass);
        }
        return null;
    }


    public static IPushExtHandleService getExtService(String pushType){
        if (extServiceMap.containsKey(pushType)){
            Class<? extends IPushExtHandleService> aClass = extServiceMap.get(pushType);
            return ApplicationContextUtil.getBean(aClass);
        }
        return  ApplicationContextUtil.getBean(IPushExtHandleService.class);
    }

    public static void main(String[] args) {
        System.out.println(RandomUtil.randomString(16));
        System.out.println(RandomUtil.randomStringUpper(32));
    }

}
